#include <iostream>
#include <cstdlib>
#include <cstring>

int main()
{
    // char* str = (char*)malloc(sizeof(char) * 10);
    // if(str == NULL)
    // {
    //     return;
    // }
    // strcpy(str, "hello");
    // std::cout<<str<<std::endl;
    // free(str);

    // char * s = new char[10];//1,不需要计算内存大小
    //                         //2,不需要对指针进行转换
    //                         //3,不需要判断指针是否为空:抛出异常，终止程序
    // strcpy(s, "helllo");
    // delete []s;//释放数组

    // int *a = new int(10);
    // delete a;
    char **s = new char*[3];
    for(int i = 0; i < 3; i++)
    {
        s[i] = new char[10];
        strcpy(s[i], "hello");
    }
    for(int i = 0; i < 3; i++)
    {
        std::cout<<s[i]<<std::endl;
    }
    for(int i = 0; i < 3; i++)
    {
        delete []s[i];
    }
    delete []s;
    
    return 0;
}